package PL.practica6;


import java.io.IOException;

import org.antlr.runtime.ANTLRFileStream;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.RecognitionException;
import PL.practica6.AnalizadorEjemploLexer;
import PL.practica6.AnalizadorEjemploParser;

public class Procesador {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws RecognitionException 
	 */
	public static void main(String[] args) throws IOException, RecognitionException {
		if (args[0].endsWith(".txt")){
			System.out.println ("Analizando fichero Ejemplo");
			CharStream cs = new ANTLRFileStream(args[0]);
			AnalizadorEjemploLexer lex = new AnalizadorEjemploLexer(cs);
			CommonTokenStream tokens = new CommonTokenStream(lex);
			AnalizadorEjemploParser parser = new AnalizadorEjemploParser(tokens);
			parser.entrada();
		}
		if (args[0].endsWith(".c")){
			System.out.println ("Analizando fichero C");
			CharStream cs = new ANTLRFileStream(args[0]);
			AnalizadorCLexer lex = new AnalizadorCLexer(cs);
			CommonTokenStream tokens = new CommonTokenStream(lex);
			AnalizadorCParser parser = new AnalizadorCParser(tokens);
			parser.entrada();

		}
		if (args[0].endsWith(".xml")){
			System.out.println ("Analizando fichero XML");
			CharStream cs = new ANTLRFileStream(args[0]);
			AnalizadorXMLLexer lex = new AnalizadorXMLLexer(cs);
			CommonTokenStream tokens = new CommonTokenStream(lex);
			AnalizadorXMLParser parser = new AnalizadorXMLParser(tokens);
			parser.entrada();
		}
		if (args[0].endsWith(".gdl")){
			System.out.println ("Analizando fichero GDL");
			CharStream cs = new ANTLRFileStream(args[0]);
			AnalizadorGDLLexer lex = new AnalizadorGDLLexer(cs);
			CommonTokenStream tokens = new CommonTokenStream(lex);
			AnalizadorGDLParser parser = new AnalizadorGDLParser(tokens);
			parser.entrada();
		}
		if (args[0].endsWith(".g")){
			System.out.println ("Analizando fichero ANTLR");
			CharStream cs = new ANTLRFileStream(args[0]);
			AnalizadorANTLRLexer lex = new AnalizadorANTLRLexer(cs);
			CommonTokenStream tokens = new CommonTokenStream(lex);
			AnalizadorANTLRParser parser = new AnalizadorANTLRParser(tokens);
			parser.entrada();
		}
		System.out.println ("done!!!!!!!");
	}

}